package grpcx

import (
	"errors"
	"google.golang.org/grpc/status"
)

// GetGrpcErrorMessage 获取grpc里的错误信息
func GetGrpcErrorMessage(err error) string {
	if err != nil {
		if ferr, ok := status.FromError(err); ok {
			return ferr.Message()
		}
		return err.Error()
	}
	return ""
}

// GetGrpcErrorCode 获取grpc的错误 code
func GetGrpcErrorCode(err error) string {
	return status.Convert(err).Code().String()
}

// CovertGrpcError 转换grpc错误为普通错误
func CovertGrpcError(err error) error {
	return errors.New(GetGrpcErrorMessage(err))
}
